Target Application

Before creating a new session you must specify the details of target application you want to profile.

  • Application Path - This is the path to the target application's main executable.
  • Command Line - The command line arguments to pass to the target application process.
  • Working Directory - The initial working directory for the target application process. If left blank the initial working directory will be the current working directory of the WonderLeakGUI.exe process (which is typically the installation folder of the WonderLeak application).
  • Environment variables - An optional semi colon separated list of environment variables to pass to the target application process. Any environment variables provided will be merged with the current set of system environment variables. An environment variable must be in the form NAME=VALUE.
Profiling Groups

You can configure which profiling groups to enable for the new session. A profiling group identifies what type of allocations to record during a profiling session. By default all groups are enabled.

  • Windows Heap - WonderLeak supports profiling heap allocations from the following families of Windows allocators which are serviced by the Windows heap:
    • Microsoft Visual Studio Common Runtime malloc and new
    • RtlAllocateHeap
    • HeapAlloc
    • LocalAlloc
    • GlobalAlloc
    • CoTaskMemAlloc
    • SysAllocString
    • SafeArrayCreate
  • Windows Handle - WonderLeak supports profiling handle allocations for the following Windows kernel objects:
    • ALPC Port
    • DebugObject
    • Directory
    • Event
    • File
    • IoCompletion
    • Job
    • Key
    • KeyedEvent
    • Mutant
    • Partition
    • Process
    • Profile
    • RegistryTransaction
    • Section
    • Semaphore
    • Session
    • SymbolicLink
    • Thread
    • Timer
    • TmEn (Transaction Manager Enlistment)
    • TmRm (Transaction Manager Resource Manager)
    • TmTm (Transaction Manager)
    • TmTx (Transaction Manager Transaction)
    • Token
    • TpWorkerFactory (Thread Pool Worker Factory)
    • WaitCompletionPacket
  • Windows Critical Section
  • Windows Thread Local Storage
  • Windows Fiber Local Storage
  • Borland Heap - All allocations serviced by the Borland Memory Manager (borlndmm.dll), typically used by applications developed with Delphi or C++ Builder.
  • User Heap/Handle Types (API) - WonderLeak exposes an API to assist in the profiling of custom user heap or handle allocations which are not covered by the above groups.
Options

Several additional configuration options for a new session are available.

  • Snapshot on termination - When the application terminates WonderLeak can generate a snapshot to record all allocations that are still live in the process at termination.
  • Tag as ignore, all allocations that occur during DLL load - WonderLeak can automatically tag as ignore, all allocations that are generated when the target process loads a module. In certain scenarios it may be useful to ignore allocations that occur during DLL initialization. This option is not enabled by default.
  • Call stack max depth - The maximum amount of call stack entries to record in a call stack. Set to 0 to disable the recording of any call stack information.
  • Record allocation data max size - The maximum amount of bytes to capture from a heap chunk that is live when a snapshot is created. An upper limit of 256 bytes is imposed. Any bytes captured are displayed in the memory window when the allocation is selected.
Copyright © 2021, Relyze Software Limited